package org.origin.ferret.system.service;

import org.origin.centre.model.base.XPage;
import org.origin.centre.model.dto.XDeleteByIdDto;
import org.origin.centre.model.dto.XQueryByIdDto;
import org.origin.centre.model.dto.XUpdateByIdDto;
import org.origin.centre.model.dto.dict.XQueryByTreeValueDto;
import org.origin.centre.model.vo.XPageVo;
import org.origin.centre.model.vo.dict.XTreeKeyValueVo;
import org.origin.ferret.system.model.dto.org.SysOrgInsertDto;
import org.origin.ferret.system.model.dto.org.SysOrgPageDto;
import org.origin.ferret.system.model.dto.org.SysOrgUpdateDto;
import org.origin.ferret.system.model.vo.org.SysOrgVo;

import java.util.List;

/**
 * 系统机构-服务
 *
 * @author ferret
 * @version 2024-05-08
 */
public interface SysOrgService {

    XPageVo<SysOrgVo> page(XPage<SysOrgPageDto> pageDto);

    SysOrgVo query(XQueryByIdDto queryDto);

    Boolean insert(SysOrgInsertDto insertDto);

    Boolean update(SysOrgUpdateDto updateDto);

    Boolean delete(XDeleteByIdDto deleteDto);

    Boolean valid(XUpdateByIdDto updateDto);

    Boolean invalid(XUpdateByIdDto updateDto);

    List<XTreeKeyValueVo> list(XQueryByTreeValueDto queryDto);

}
